''========================================================
'' Autor: 		Luis Antonio Lara Capetillo
'' Fecha Creación: 	22/11/2012
'' Descripcion: 	Clase Componente ctlFormatoUnicoDatos
''========================================================

Public Class ctlFormatoUnicoDatos
  Inherits System.Web.UI.UserControl
	Public Event cbxNidTipo_EmpresaClicked As EventHandler

#Region "Propiedades"
  ''' <summary>
  ''' Obtiene o estable el valor NidEmpresa del TextBox txtNidEmpresa
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property NidEmpresa() As String
    Get
      Return Me.txtNidEmpresa.Text
    End Get
    Set(value As String)
      Me.txtNidEmpresa.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene el nid de la opcion seleccionada
  ''' </summary>
  ''' <value></value>
  ''' <returns>numero de nid seleccionado</returns>
  ''' <remarks></remarks>
  Public ReadOnly Property NidcbxNidTipo_Empresa() As Int32
    Get
      If cbxNidTipo_Empresa.SelectedValue = "- Seleccione una opcion -" Then
        Return 0
      Else
        Return CInt(cbxNidTipo_Empresa.SelectedValue)
      End If
    End Get
  End Property
  ''' <summary>
  ''' Obtiene el nombre de la opcion seleccionada
  ''' </summary>
  ''' <value></value>
  ''' <returns>nombre de la opcion seleccionada</returns>
  ''' <remarks></remarks>
  Public ReadOnly Property NombrecbxNidTipo_Empresa() As String
    Get
      If cbxNidTipo_Empresa.SelectedItem.Text = "- Seleccione una opcion -" Then
        Return ""
      Else
        Return cbxNidTipo_Empresa.SelectedItem.Text
      End If
    End Get
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Nombre_Area_Especifica del TextBox txtNombre_Area_Especifica
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Nombre_Area_Especifica() As String
    Get
      Return Me.txtNombre_Area_Especifica.Text
    End Get
    Set(value As String)
      Me.txtNombre_Area_Especifica.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o establece el valor Fecha_Inicio_Vigencia del TextBox txtFecha_Inicio_Vigencia
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Fecha_Inicio_Vigencia() As String
    Get
      Return Me.txtFecha_Inicio_Vigencia.Text
    End Get
    Set(value As String)
      Me.txtFecha_Inicio_Vigencia.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o estable el valor Motivo_Actividad del TextBox txtMotivo_Actividad
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Motivo_Actividad() As String
    Get
      Return Me.txtMotivo_Actividad.Text
    End Get
    Set(value As String)
      Me.txtMotivo_Actividad.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Obtiene o establece el valor Fecha_Fin_Vigencia del TextBox txtFecha_Fin_Vigencia
  ''' </summary>
  ''' <value>valor tipo String</value>
  ''' <returns>valor tipo String</returns>
  ''' <remarks></remarks>
  Public Property Fecha_Fin_Vigencia() As String
    Get
      Return Me.txtFecha_Fin_Vigencia.Text
    End Get
    Set(value As String)
      Me.txtFecha_Fin_Vigencia.Text = value
    End Set
  End Property

  ''' <summary>
  ''' Habilita o Desabilita el Control para Edicion
  ''' </summary>
  ''' <value>True o False</value>
  ''' <remarks></remarks>
  Public WriteOnly Property Enabled() As Boolean
    Set(value As Boolean)
	  txtNidEmpresa.Enabled=value
      cbxNidTipo_Empresa.Enabled=value
      txtNombre_Area_Especifica.Enabled=value
      txtFecha_Inicio_Vigencia.Enabled=value
      txtMotivo_Actividad.Enabled=value
      txtFecha_Fin_Vigencia.Enabled=value
      
    End Set
  End Property

  ''' <summary>
  ''' Habilita o Desabilita el Control para solo lectura
  ''' </summary>
  ''' <value>True o False</value>
  ''' <remarks>ReadOnly</remarks>
  Public WriteOnly Property Lectura() As Boolean
    Set(value As Boolean)
	  txtNidEmpresa.ReadOnly=value
      cbxNidTipo_Empresa.ReadOnly=value
      txtNombre_Area_Especifica.ReadOnly=value
      txtFecha_Inicio_Vigencia.ReadOnly=value
      txtMotivo_Actividad.ReadOnly=value
      txtFecha_Fin_Vigencia.ReadOnly=value
      
    End Set
  End Property


#End Region
#Region "Eventos"
  Protected Sub cbxNidTipo_Empresa_SelectedIndexChanged(sender As Object, e As System.EventArgs) Handles cbxNidTipo_Empresa.SelectedIndexChanged
    OncbxNidTipo_EmpresaClick(sender)
  End Sub

#End Region
#Region "Metodos"
  Protected Overridable Sub OncbxNidTipo_EmpresaClick(ByVal sender As Object)
    RaiseEvent cbxNidTipo_EmpresaClicked(sender, New EventArgs)
  End Sub

  ''' <summary>
  ''' Metodo para asignar los datos al componente ctlTurismo
  ''' </summary>
  ''' <param name="tablaDatos">DataTable donde se obtienen los datos</param>
  ''' <remarks></remarks>
  Public Sub AsignarDatos(ByVal tablaDatos As DataTable)
    Me.txtNidEmpresa.Text= tablaDatos.Rows(0)("NidEmpresa").ToString
    Me.txtNombre_Area_Especifica.Text= tablaDatos.Rows(0)("Nombre_Area_Especifica").ToString
    Me.txtFecha_Inicio_Vigencia.Text= tablaDatos.Rows(0)("Fecha_Inicio_Vigencia").ToString
    Me.txtMotivo_Actividad.Text= tablaDatos.Rows(0)("Motivo_Actividad").ToString
    Me.txtFecha_Fin_Vigencia.Text= tablaDatos.Rows(0)("Fecha_Fin_Vigencia").ToString
    
  End Sub

  ''' <summary>
  ''' Metodo para llenar cbxNidTipo_Empresa con datos de un DataTable y seleciona el primero
  ''' </summary>
  ''' <param name="data"> Tabla con los datos</param>
  ''' <param name="nombre">Nombre de la columna de los nombres</param>
  ''' <param name="nid"> Nombre de la columna con los nid</param>
  ''' <remarks></remarks>
  Public Sub llenarcbxNidTipo_Empresa(ByVal data As DataTable, ByVal nombre As String, ByVal nid As String)
    Me.cbxNidTipo_Empresa.DataSource = data
    Me.cbxNidTipo_Empresa.DataTextField = nombre.ToString
    Me.cbxNidTipo_Empresa.DataValueField = nid.ToString
    Me.cbxNidTipo_Empresa.DataBind()
    Me.cbxNidTipo_Empresa.Items.Add("- Seleccione una opcion -")
    Me.cbxNidTipo_Empresa.SelectedIndex = Me.cbxNidTipo_Empresa.Items.Count - 1
  End Sub 

#End Region
End Class
